home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1997 #1 / Amiga Plus Extra 1997 #1.iso / programme / tools / leoutils / leolib.h < prev    next >
C/C++ Source or Header  |  1994-05-18  |  1KB  |  32 lines

  1. #ifndef LEO_LIB_H
  2. #define LEO_LIB_H
  3.  
  4.  
  5. extern unsigned char __LeoCType[];
  6.  
  7. #define _U 1    /* upper case flag            */
  8. #define _L 2    /* lower case flag            */
  9. #define _N 4    /* number flag                */
  10. #define _S 8    /* space flag                */
  11. #define _P 16    /* punctuation flag            */
  12. #define _C 32    /* control character flag    */
  13. #define _B 64    /* blank flag                */
  14. #define _X 128    /* hexadecimal flag            */
  15.  
  16. #define ToLower(c)     (IsUpper(c) ? ((c)+('a'-'A')) : (c))
  17. #define ToUpper(c)     (IsLower(c) ? ((c)-('a'-'A')) : (c))
  18.  
  19. #define IsAlnum(c)      (__LeoCType[(c)+1] & (_U|_L|_N))
  20. #define IsAlpha(c)      (__LeoCType[(c)+1] & (_U|_L))
  21. #define IsCntrl(c)      (__LeoCType[(c)+1] & _C)
  22. #define IsDigit(c)      (__LeoCType[(c)+1] & _N)
  23. #define IsGraph(c)      (__LeoCType[(c)+1] & (_P|_U|_L|_N))
  24. #define IsLower(c)      (__LeoCType[(c)+1] & _L)
  25. #define IsPrint(c)      (__LeoCType[(c)+1] & (_P|_U|_L|_N|_B))
  26. #define IsPunct(c)      (__LeoCType[(c)+1] & _P)
  27. #define IsSpace(c)      (__LeoCType[(c)+1] & _S)
  28. #define IsUpper(c)      (__LeoCType[(c)+1] & _U)
  29. #define IsXDigit(c)     (__LeoCType[(c)+1] & _X)
  30.  
  31. #endif
  32.